<?php
/**
 * Description of ReservasTest
 *
 * @author Mariano
 */
require_once dirname(__FILE__).'/../bootstrap/unit.php';
$configuracion = ProjectConfiguration::getApplicationConfiguration('frontend', 'test', 'true');
new sfDatabaseManager($configuration);
Doctrine_Core::loadData(sfConfig::get('sf_test_dir').'/fixtures');

$cantidad_pruebas = 4;
$test = new lime_test($cantidad_pruebas);
//setear condiciones iniciales para las pruebas
$matematica = new Materia();
$matematica->save();

$curso = new Curso();
$curso->setIdMateria($matematica->getIdMateria());
$curso->save();

//$categoria = new Categoriaderecurso();
//$categoria->setIdTipoRecurso(1);
//$categoria->save();

$recurso = new Recurso();
$recurso->setIdTipoRecurso(1);
//$recurso->setIdTipoRecurso($categoria->getIdTipoRecurso());
$recurso->save();

$reserva = new Reservaderecurso();
    //configuracion de la reserva
$reserva->setIdCurso($curso->getIdCurso());
$reserva->setIdRecurso($recurso->getIdRecurso());

//$reserva->setFechaDesde(date("Y-m-d G:i:s"));
//$reserva->setFechaHasta(date("Y-m-d G:i:s"));

$reserva->setFechaDesde("2010-10-15 8:30:00");
$reserva->setFechaHasta("2010-10-15 10:15:00");

$reserva->save();

$b = $recurso->estaDisponible("2010-10-15 8:30:00", "2010-10-15 8:45:00");
$test->ok(!$b, "El recurso no esta disponible en el horario");

//$b = (strtotime($reserva->getFechaDesde()) <= strtotime($reserva->getFechaHasta()));
//$test->ok($b,"compare fechas");
$b = $recurso->estaDisponible("2010-10-15 11:30:00","2010-10-15 11:45:00");
$test->ok($b,"El recurso esta disponible en ese horario");

$test->ok(!$recurso->estaDisponible("2010-10-15 8:00:00","2010-10-15 11:45:00"),"El recurso no esta disponible");
    //eliminar datos para dejar la base en el estado inicial

//$reserva->delete();
$reserva->cancelar();
$test->ok($recurso->estaDisponible("2010-10-15 8:00:00","2010-10-15 11:45:00"),"Se cancelo la reserva, el recurso ahora esta disponible");

$recurso->delete();
$curso->eliminar();
$matematica->delete();
//$categoria->delete();
?>
